VHDL和Verilog中数组定义、初始化、赋值方法 | 您所在的位置:网站首页 › verilog 寄存器组 › VHDL和Verilog中数组定义、初始化、赋值方法 |
0. 前言
VHDL和Verilog数组的定义、初始化、赋值的方法不只一种,以下是本人常用的方法,可能不是最方便的,但是比较好理解,文中包含了源代码和modelsim仿真,供大家参考学习。 1. VHDL数组定义、初始化、赋值 1)VHDL数组定义方法:通过TYPE定义个matri_index的数组,数组包含50个数据,数据位数为16;申明了receive_data和send_data两个matri_index的数据。 --define a 16 bit array constant matrix_num: integer := 49; TYPE matrix_index is array (matrix_num downto 0) of std_logic_vector(15 downto 0); signal receive_data, send_data: matrix_index; signal send_cnt: STD_LOGIC_VECTOR(7 downto 0); 2)VHDL数组初始方法:实际应用里,通常需要在上电复位过程中对变量进行初始化,如果数组个数少时,直接赋初始值即可,但是数组个数多时,可以用循环实现赋值,通常的循环语句有FOR LOOP和WHILE LOOP。(注意变量i申明的位置,需要在process内部,注意变量的赋值方式) process(clk,reset_n) --循环变量定义并初始化 variable i: integer := 0; begin if (reset_n = '0')then i := 0; --利用while loop循环赋值 while(i |
CopyRight 2018-2019 实验室设备网 版权所有 |